package onez.project.core.filter;

import java.lang.annotation.*;

/**
 * FilterAspect注解
 * 提供切面增强功能
 * 该注解用于标记切面类，以实现过滤器的功能
 * 它定义了过滤器的元数据，如唯一标识符、名称和排序顺序
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface FilterAspect {
    /**
     * 过滤器ID
     * @return 过滤器的唯一标识符
     */
    String id();

    /**
     * 过滤器名称
     * @return 过滤器的名称，默认为空字符串
     */
    String name() default "";

    /**
     * 排序
     * @return 过滤器的排序顺序，默认为0
     * 用于确定过滤器的执行顺序，数值越小，优先级越高
     */
    int order() default 0;
}

